package com.hp.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public class TestAnnotation02 {
    @MyAnnotation02(name = "123", school = {"xx大学", "@@school"}, age = 18)
    public void test02() {

    }

    @MyAnnotation03("hp")
    public void test03() {

    }
}

//多个值
@Target(value = {ElementType.METHOD, ElementType.TYPE})
@Retention(value = RetentionPolicy.RUNTIME)
@interface MyAnnotation02 {
    //注解参数: 参数类型+参数名();
    String name() default "";

    int age();

    int id() default -1;//若默认值为 -1;则表示不存在;

    String[] school() default {"清华大学", "北京大学"};
}

//自定义注解;若只有一个参数,建议参数名使用value();
@Target(value = {ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation03 {
    //那么在使用这个注解时,参数赋值还能省略value()指向;
    String value();
}